#pragma once
#ifndef _KLAS_RENDER_TO_TEXTURE_HPP_
#define _KLAS_RENDER_TO_TEXTURE_HPP_

#include "../Library.hpp"
#include "../math/Vector2.hpp"

namespace klas
{
  namespace graphics
  {
    class RenderToTexture: public virtual library::Base
    {
    public:

      //! Dtor.
      virtual ~RenderToTexture() {}

      
      virtual void init(const math::Vector2<uint32>& dim, uint32 bpp=32) = 0;
      virtual void kill() = 0;

      virtual void enable() = 0;
      virtual void disable() = 0;

      virtual void render(const math::Vector2d& numSides, decimal alpha = 1.0f) = 0;

    };
  }
}

#endif 